package com.huawei.statistics.utils;

import org.apache.commons.lang.StringUtils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class StringUtil {

	/**
	 *  @author duosheng.mo 
	 *	@DateTime 2016-4-7 下午10:26:32
	 *  @serverCode 服务代码
	 *  @serverComment 首字母大写
	 *
	 *  @param str
	 *  @return
	 */
	public static String firstUpperCase(String str){
		  StringBuffer strSb = new StringBuffer();
		  Pattern pattern = Pattern.compile("([a-z])([a-z]*)",Pattern.CASE_INSENSITIVE);
	      Matcher m = pattern.matcher(str);
	      while (m.find()) {
	         m.appendReplacement(strSb, m.group(1).toUpperCase() + m.group(2));
	      }
	      return m.appendTail(strSb).toString();
	}

	public static boolean isEquals(String temp,String str){
		if (temp==null||str==null)
			return false;
		return temp.equals(str);
	}

	public static String filterEmoji(String source,String slipStr) {
		if(StringUtils.isNotBlank(source)){
			return source.replaceAll("[\\ud800\\udc00-\\udbff\\udfff\\ud800-\\udfff]", slipStr);
		}else{
			return source;
		}
	}
	
	/**
	 * 判断对象是否为空
	 * 
	 * @param str
	 * @return
	 */
	public static boolean isNotEmpty(Object str) {
		boolean flag = true;
		if (str != null && !str.equals("")) {
			if (str.toString().length() > 0) {
				flag = true;
			}
		} else {
			flag = false;
		}
		return flag;
	}
	
	/**
	 * 对特殊字符串进行还原转义
	 * @author zhansi.Xu
	 * @DateTime 2016年9月27日
	 * @serverComment
	 */
	public static String decodeStr(String str){
		return str.replace("＆", "&");
	}
	
	
	/**
	 * 过滤掉脚本返回干净的html
	 * @author zhansi.Xu
	 * @DateTime 2016年9月30日
	 * @serverComment
	 */
	public static String filterHtml(String html){
		if (html==null)
			return null;
		return  html.replaceAll("<script[^>]*>[\\d\\D]*?</script>","");
	}
	
}
